/**
 * 权限工具函数
 * 用于在JavaScript代码中检查用户权限
 */
import store from '@/store';
import { hasPermission } from '@/api/auth';

/**
 * 检查当前用户是否拥有指定权限
 * @param {string|Array} permission 权限标识或权限标识数组
 * @returns {boolean} 是否拥有权限
 */
export function checkPermission(permission) {
  const userPermissions = store.state.userInfo.userInfo.permissions || [];
  return hasPermission(permission, userPermissions);
}

/**
 * 检查当前用户是否拥有指定权限，如果没有则显示提示信息
 * @param {string|Array} permission 权限标识或权限标识数组
 * @param {Function} messageFunction 提示函数，默认为console.warn
 * @returns {boolean} 是否拥有权限
 */
export function checkAndWarnPermission(permission, messageFunction = console.warn) {
  const hasAuth = checkPermission(permission);
  if (!hasAuth) {
    messageFunction('您没有操作权限');
  }
  return hasAuth;
}